package com.navinfo.gateway.platform.server.netty.codec;

import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufUtil;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.ByteToMessageDecoder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.List;

/**
 * Packet解码器
 *
 * @author zhengshibo
 * @date 2018/3/14.
 */
public class TcpDecoder extends ByteToMessageDecoder {

    private static final Logger log = LoggerFactory.getLogger(TcpDecoder.class);

    @Override
    protected void decode(ChannelHandlerContext channelHandlerContext, ByteBuf byteBuf, List<Object> list) throws Exception {
        log.info("T-->TA:" + channelHandlerContext.channel().toString() + "收到终端原始数据:\r\n" + ByteBufUtil.prettyHexDump(byteBuf));
        //todo
        //根据协议不同，去编写不同的解码代码
        //例如下面注释的代码
        //在这个地方可以将粘包和半包的报文进行处理
        //todo
    }
}
